#ifndef STRAY_RESOURCE_FILE_DATA_H
#define STRAY_RESOURCE_FILE_DATA_H

#include <Common.h>
#include <String\String.h>
#include <Container\Map.h>
#include <SmartPtr\SharedPtr.h>
#include <SmartPtr\IntrusivePtr.h>

#include "../Resource/Material/Material.h"
#include "../Resource/Mesh/Mesh.h"
#include "../Resource/Texture/Texture.h"

namespace Stray {
namespace Resource {

class ResFileData
{
public:
	typedef Stray::HashMap<ResourceID, MaterialPtr>::type MaterialMap;
	typedef Stray::HashMap<ResourceID, MeshPtr>::type MeshMap;
	typedef Stray::HashMap<ResourceID, TexturePtr>::type TextureMap;

	MaterialMap materialMap_;
	MeshMap meshMap_;
	TextureMap textureMap_;
};

typedef Stray::SharedPtr<ResFileData>::type ResFileDataPtr;

}
}

#endif